<?php

/**
 * Description of PagamentoDAO
 *
 * @author Hiago
 */
class PagamentoDAO {

    public static function inserir(Pagamento $pagamento) {
        $con = new bd();
        try {
            $con->beginTransaction();
            $stmt = $con->prepare("INSERT INTO `pagamento`(`idPagamento`,`valor`,`tipo`) VALUES (?,?,?);");
            $dados = Array($pagamento->getIdPagamento(), $pagamento->getValor(), $pagamento->getTipo());
            $stmt->execute($dados);
            $id = $con->lastInsertId();
            $con->ocorreramErros($stmt);
            $pagamento->setIdPagamento($id);
            $con->commit();
        } catch (Exception $ex) {
            $con->rollBack();
        }
        return $pagamento;
    }

    public static function getById($idPagamento) {
        $con = new bd();
        $stmt = $con->prepare("SELECT `pagamento`.`idPagamento`, `pagamento`.`valor`, `pagamento`.`tipo`
                               FROM `pagamento` WHERE `pagamento`.`idPagamento` = ?;");
        $stmt->execute(Array($idPagamento));
        $con->ocorreramErros($stmt);

        $r = $stmt->fetch();
        return new Pagamento($r[0], $r[1], $r[2]);
    }

    public function listar() {
        $con = new bd();
        $stmt = $con->prepare("SELECT `pagamento`.`idPagamento`, `pagamento`.`valor`, `pagamento`.`tipo`
                               FROM `pagamento`");
        $stmt->execute();
        $con->ocorreramErros($stmt);

        $pagamentos = Array();
        while ($r = $stmt->fetch()) {
            $pagamentos[] = new Pagamento($r[0], $r[1], $r[2]);
        }
        return $pagamentos;
    }

}

?>
